In NumPy, Gestione della precisione è la scelta deliberata della profondità dei bit per bilanciare l'efficienza della memoria con la correttezza numerica. A differenza degli interi standard di Python che hanno precisione arbitraria, NumPy utilizza tipi C a dimensione fissa (ad esempio, int32_t, uint64_t).
1. L'hierarchia dei tipi
I tipi di dati di NumPy definiscono l'occupazione di memoria. Mentre np.int_() fornisce una dimensione dipendente dalla piattaforma, i sistemi robusti si basano su Alias a dimensione fissa (Tabella: Pagina 34) per garantire coerenza tra le diverse architetture hardware.
- Interi:
int8_t,int16_t,int32_t,int64_t. - Senza segno:
uint8_tdauint64_t. - Puntatori:
intptr_t,uintptr_t.
2. Strumenti di ispezione
Prima di eseguire operazioni aritmetiche, usa np.iinfo() e np.finfo() per ispezionare i limiti. Ad esempio, 1 + np.finfo(np.longdouble).eps identifica l'epsilon macchina—il valore limite oltre il quale le addizioni non modificano più il risultato.
3. Meccanismi dell'overflow
NumPy non solleva errori in caso di overflow; fallisce silenziosamente. Usando np.power(100, 8, dtype=np.int32) produce un troncamento, mentre float64 passa a inf. Usa np.issubdtype(d, np.floating) per validare le categorie prima delle operazioni.